package com.charging.dao;

import com.charging.entity.Announcement;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface AnnouncementDao {
    // 添加公告
    void insert(Announcement announcement);

    // 更新公告
    int update(Announcement announcement);

    // 根据ID删除公告
    int delete(Long id);

    // 根据ID查询公告
    Announcement selectById(Long id);

    // 查询所有公告
    List<Announcement> selectAll();

    // 查询有效公告（已发布且在有效期内）
    List<Announcement> selectValidAnnouncements();

    // 更新公告状态
    int updateStatus(@Param("id") Long id, @Param("status") String status);

    // 根据类型查询公告
    List<Announcement> selectByType(@Param("type") String type);
}